import request from '@/utils/request'

/**
 * 用户注册
 */
export function register(data) {
  return request({
    url: '/auth/register',
    method: 'post',
    data
  })
}

/**
 * 用户登录
 */
export function login(data) {
  return request({
    url: '/auth/login',
    method: 'post',
    data
  })
}

/**
 * 用户登出
 */
export function logout() {
  return request({
    url: '/auth/logout',
    method: 'post'
  })
}

/**
 * 获取当前用户信息
 */
export function getUserInfo() {
  return request({
    url: '/auth/me',
    method: 'get'
  })
}

/**
 * 强制登出所有会话
 */
export function logoutAll() {
  return request({
    url: '/auth/logout-all',
    method: 'post'
  })
}

/**
 * 生成TOTP密钥和二维码
 */
export function generateTOTP() {
  return request({
    url: '/auth/totp/generate',
    method: 'get'
  })
}

/**
 * 启用TOTP
 */
export function enableTOTP(token) {
  return request({
    url: '/auth/totp/enable',
    method: 'post',
    data: { token }
  })
}

/**
 * 禁用TOTP
 */
export function disableTOTP() {
  return request({
    url: '/auth/totp/disable',
    method: 'post'
  })
}

/**
 * 检查TOTP状态
 */
export function checkTOTPStatus() {
  return request({
    url: '/auth/totp/status',
    method: 'get'
  })
}

// 默认导出所有API
export default {
  register,
  login,
  logout,
  getUserInfo,
  logoutAll,
  generateTOTP,
  enableTOTP,
  disableTOTP,
  checkTOTPStatus
}

